[INFO] fetching crate dysql-tpl 2.0.0...
[INFO] fixing dysql-tpl-2.0.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate dysql-tpl 2.0.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate dysql-tpl 2.0.0
[INFO] finished tweaking crates.io crate dysql-tpl 2.0.0
[INFO] tweaked toml for crates.io crate dysql-tpl 2.0.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate dysql-tpl 2.0.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate dysql-tpl 2.0.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `pulldown-cmark` dependency)
[INFO] [stderr] warning: `dysql-tpl` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d3bc3972c9cdb710662912def03b0d18face98cea729153f7d66e267e6eff264
[INFO] running `Command { std: "docker" "start" "d3bc3972c9cdb710662912def03b0d18face98cea729153f7d66e267e6eff264", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d3bc3972c9cdb710662912def03b0d18face98cea729153f7d66e267e6eff264" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d3bc3972c9cdb710662912def03b0d18face98cea729153f7d66e267e6eff264", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d3bc3972c9cdb710662912def03b0d18face98cea729153f7d66e267e6eff264" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] warning: Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `pulldown-cmark` dependency)
[INFO] [stderr] warning: `dysql-tpl` (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]    Compiling pulldown-cmark v0.9.3
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]     Checking iana-time-zone v0.1.58
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]     Checking beef v0.5.2
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking yansi v0.5.1
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking pretty_assertions v1.4.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling logos-codegen v0.13.0
[INFO] [stderr]    Compiling serde_derive v1.0.193
[INFO] [stderr]    Compiling bae2 v1.0.0
[INFO] [stderr]    Compiling dysql-tpl-derive v2.0.0
[INFO] [stderr]    Compiling logos-derive v0.13.0
[INFO] [stderr]     Checking logos v0.13.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking uuid v1.6.1
[INFO] [stderr]     Checking chrono v0.4.31
[INFO] [stderr]     Checking dysql-tpl v2.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating src/main.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.39s
[INFO] [stderr] crater-edition-check: dysql-tpl v2.0.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr] warning: Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `pulldown-cmark` dependency)
[INFO] [stderr] warning: `dysql-tpl` (manifest) generated 1 warning
[INFO] [stderr]     Checking dysql-tpl v2.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `get_partial` is never used
[INFO] [stdout]    --> src/lib.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub(crate) trait Partials {
[INFO] [stdout]     |                  -------- method in this trait
[INFO] [stdout] 241 |     fn get_partial(&mut self, name: &str) -> Result<&Template, TemplateError>;
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/encoding.rs:399:17
[INFO] [stdout]     |
[INFO] [stdout] 399 | fn get_token(s: &str) -> Result<Token, SimpleError> {
[INFO] [stdout]     |                 ^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 399 | fn get_token(s: &str) -> Result<Token<'_>, SimpleError> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_partial` is never used
[INFO] [stdout]    --> src/lib.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub(crate) trait Partials {
[INFO] [stdout]     |                  -------- method in this trait
[INFO] [stdout] 241 |     fn get_partial(&mut self, name: &str) -> Result<&Template, TemplateError>;
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/encoding.rs:399:17
[INFO] [stdout]     |
[INFO] [stdout] 399 | fn get_token(s: &str) -> Result<Token, SimpleError> {
[INFO] [stdout]     |                 ^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 399 | fn get_token(s: &str) -> Result<Token<'_>, SimpleError> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.32s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] warning: Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `pulldown-cmark` dependency)
[INFO] [stderr] warning: `dysql-tpl` (manifest) generated 1 warning
[INFO] [stderr]     Checking dysql-tpl v2.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `dysql_tpl`
[INFO] [stderr]  --> src/template/mod.rs
[INFO] [stderr]  ::: src/template/parse.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]              --> src/template/parse.rs:22:51
[INFO] [stderr]               |
[INFO] [stderr]            22 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Logos + use<'s>)]
[INFO] [stderr]               |                                                   ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]              --> src/template/parse.rs:74:16
[INFO] [stderr]               |
[INFO] [stderr]            74 | #[derive(Logos + use<'s>)]
[INFO] [stderr]               |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]              --> src/template/parse.rs:23:3
[INFO] [stderr]               |
[INFO] [stderr]            23 | #[logos(
[INFO] [stderr]               |   ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:32:7
[INFO] [stderr]               |
[INFO] [stderr]            32 |     #[token("{{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:36:7
[INFO] [stderr]               |
[INFO] [stderr]            36 |     #[token("{{&")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:37:7
[INFO] [stderr]               |
[INFO] [stderr]            37 |     #[token("{{{", |lex| lex.extras = Braces::Three)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:446:21
[INFO] [stdout]     |
[INFO] [stdout] 446 |         if let Some(ref inner) = self {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:446:16
[INFO] [stdout]     |
[INFO] [stdout] 446 |         if let Some(ref inner) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 446 -         if let Some(ref inner) = self {
[INFO] [stdout] 446 +         if let Some(inner) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> src/template/parse.rs:41:7
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:455:21
[INFO] [stdout]     |
[INFO] [stdout] 455 |         if let Some(ref inner) = self {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:455:16
[INFO] [stdout]     |
[INFO] [stdout] 455 |         if let Some(ref inner) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 455 -         if let Some(ref inner) = self {
[INFO] [stdout] 455 +         if let Some(inner) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:473:21
[INFO] [stdout]     |
[INFO] [stdout] 473 |         if let Some(ref item) = self {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:473:16
[INFO] [stdout]     |
[INFO] [stdout] 473 |         if let Some(ref item) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 473 -         if let Some(ref item) = self {
[INFO] [stdout] 473 +         if let Some(item) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            41 |     #[token("{{#")]
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:488:21
[INFO] [stdout]     |
[INFO] [stdout] 488 |         if let Some(ref item) = self {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:488:16
[INFO] [stdout]     |
[INFO] [stdout] 488 |         if let Some(ref item) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 488 -         if let Some(ref item) = self {
[INFO] [stdout] 488 +         if let Some(item) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |       ^^^^^
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:538:19
[INFO] [stdout]     |
[INFO] [stdout] 538 |         if let Ok(ref inner) = self {
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:538:16
[INFO] [stdout]     |
[INFO] [stdout] 538 |         if let Ok(ref inner) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 538 -         if let Ok(ref inner) = self {
[INFO] [stdout] 538 +         if let Ok(inner) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:547:19
[INFO] [stdout]     |
[INFO] [stdout] 547 |         if let Ok(ref inner) = self {
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:547:16
[INFO] [stdout]     |
[INFO] [stdout] 547 |         if let Ok(ref inner) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 547 -         if let Ok(ref inner) = self {
[INFO] [stdout] 547 +         if let Ok(inner) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:580:19
[INFO] [stdout]     |
[INFO] [stdout] 580 |         if let Ok(ref item) = self {
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:580:16
[INFO] [stdout]     |
[INFO] [stdout] 580 |         if let Ok(ref item) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 580 -         if let Ok(ref item) = self {
[INFO] [stdout] 580 +         if let Ok(item) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, (), parse::Tag>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/template/parse.rs:22:45
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Logos)]
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/template/parse.rs:22:45
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Logos)]
[INFO] [stdout]    |                                             ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Logos + use<'s>)]
[INFO] [stdout]    |                                                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, (), Closing>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/template/parse.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Logos)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/template/parse.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Logos)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Logos + use<'s>)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:45:7
[INFO] [stderr]               |
[INFO] [stderr]            45 |     #[token("{{^")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:49:7
[INFO] [stderr]               |
[INFO] [stderr]            49 |     #[token("{{/")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:53:7
[INFO] [stderr]               |
[INFO] [stderr]            53 |     #[token("{{!")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:61:7
[INFO] [stderr]               |
[INFO] [stderr]            61 |     #[token("{{?")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]              --> src/template/parse.rs:75:3
[INFO] [stderr]               |
[INFO] [stderr]            75 | #[logos(
[INFO] [stderr]               |   ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            80 + #[derive(Logos)]
[INFO] [stderr]            81 | enum Closing {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:81:7
[INFO] [stderr]               |
[INFO] [stderr]            81 |     #[token("}}", |lex| {
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            80 + #[derive(Logos)]
[INFO] [stderr]            81 | enum Closing {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:86:7
[INFO] [stderr]               |
[INFO] [stderr]            86 |     #[token("}}}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            80 + #[derive(Logos)]
[INFO] [stderr]            81 | enum Closing {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/template/parse.rs:89:7
[INFO] [stderr]               |
[INFO] [stderr]            89 |     #[regex(r"[^. \}]+")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            80 + #[derive(Logos)]
[INFO] [stderr]            81 | enum Closing {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `parse::Tag` in the current scope
[INFO] [stderr]               --> src/template/parse.rs:114:28
[INFO] [stderr]                |
[INFO] [stderr]             30 | pub enum Tag {
[INFO] [stderr]                | ------------ variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            114 |         let mut lex = Tag::lexer(source);
[INFO] [stderr]                |                            ^^^^^ variant, associated function, or constant not found in `parse::Tag`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `parse::Tag` doesn't implement `Debug`
[INFO] [stderr]               --> src/template/mod.rs:170:5
[INFO] [stderr]                |
[INFO] [stderr]            164 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            170 |     tag: Tag,
[INFO] [stderr]                |     ^^^^^^^^ the trait `Debug` is not implemented for `parse::Tag`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `parse::Tag` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/template/parse.rs:30:1
[INFO] [stderr]                |
[INFO] [stderr]             30 + #[derive(Debug)]
[INFO] [stderr]             31 | pub enum Tag {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `parse::Tag: Clone` is not satisfied
[INFO] [stderr]               --> src/template/mod.rs:170:5
[INFO] [stderr]                |
[INFO] [stderr]            164 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |                 ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            170 |     tag: Tag,
[INFO] [stderr]                |     ^^^^^^^^ the trait `Clone` is not implemented for `parse::Tag`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `parse::Tag` with `#[derive(Clone)]`
[INFO] [stderr]               --> src/template/parse.rs:30:1
[INFO] [stderr]                |
[INFO] [stderr]             30 + #[derive(Clone)]
[INFO] [stderr]             31 | pub enum Tag {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `parse::Tag`
[INFO] [stderr]               --> src/template/mod.rs:170:5
[INFO] [stderr]                |
[INFO] [stderr]            164 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |                        --------- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            170 |     tag: Tag,
[INFO] [stderr]                |     ^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `parse::Tag`
[INFO] [stderr]               --> src/template/parse.rs:30:1
[INFO] [stderr]                |
[INFO] [stderr]             30 | pub enum Tag {
[INFO] [stderr]                | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `parse::Tag` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/template/parse.rs:30:1
[INFO] [stderr]                |
[INFO] [stderr]             30 + #[derive(PartialEq)]
[INFO] [stderr]             31 | pub enum Tag {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `parse::Tag: Eq` is not satisfied
[INFO] [stderr]               --> src/template/mod.rs:170:5
[INFO] [stderr]                |
[INFO] [stderr]            164 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |                                   -- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            170 |     tag: Tag,
[INFO] [stderr]                |     ^^^^^^^^ the trait `Eq` is not implemented for `parse::Tag`
[INFO] [stderr]                |
[INFO] [stderr]            note: required by a bound in `std::cmp::AssertParamIsEq`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cmp.rs:380:0
[INFO] [stderr]            help: consider annotating `parse::Tag` with `#[derive(Eq)]`
[INFO] [stderr]               --> src/template/parse.rs:30:1
[INFO] [stderr]                |
[INFO] [stderr]             30 + #[derive(Eq)]
[INFO] [stderr]             31 | pub enum Tag {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 20 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0369, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `dysql_tpl`
[INFO] [stderr]  --> src/template/mod.rs
[INFO] [stderr]  ::: src/template/parse.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]              --> src/template/parse.rs:22:51
[INFO] [stderr]               |
[INFO] [stderr]            22 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Logos + use<'s>)]
[INFO] [stderr]               |                                                   ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]              --> src/template/parse.rs:74:16
[INFO] [stderr]               |
[INFO] [stderr]            74 | #[derive(Logos + use<'s>)]
[INFO] [stderr]               |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]              --> src/template/parse.rs:23:3
[INFO] [stderr]               |
[INFO] [stderr]            23 | #[logos(
[INFO] [stderr]               |   ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:32:7
[INFO] [stderr]               |
[INFO] [stderr]            32 |     #[token("{{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:36:7
[INFO] [stderr]               |
[INFO] [stderr]            36 |     #[token("{{&")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:37:7
[INFO] [stderr]               |
[INFO] [stderr]            37 |     #[token("{{{", |lex| lex.extras = Braces::Three)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:41:7
[INFO] [stderr]               |
[INFO] [stderr]            41 |     #[token("{{#")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:45:7
[INFO] [stderr]               |
[INFO] [stderr]            45 |     #[token("{{^")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:49:7
[INFO] [stderr]               |
[INFO] [stderr]            49 |     #[token("{{/")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:53:7
[INFO] [stderr]               |
[INFO] [stderr]            53 |     #[token("{{!")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:61:7
[INFO] [stderr]               |
[INFO] [stderr]            61 |     #[token("{{?")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            30 + #[derive(Logos)]
[INFO] [stderr]            31 | pub enum Tag {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]              --> src/template/parse.rs:75:3
[INFO] [stderr]               |
[INFO] [stderr]            75 | #[logos(
[INFO] [stderr]               |   ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            80 + #[derive(Logos)]
[INFO] [stderr]            81 | enum Closing {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:81:7
[INFO] [stderr]               |
[INFO] [stderr]            81 |     #[token("}}", |lex| {
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            80 + #[derive(Logos)]
[INFO] [stderr]            81 | enum Closing {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/template/parse.rs:86:7
[INFO] [stderr]               |
[INFO] [stderr]            86 |     #[token("}}}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            80 + #[derive(Logos)]
[INFO] [stderr]            81 | enum Closing {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/template/parse.rs:89:7
[INFO] [stderr]               |
[INFO] [stderr]            89 |     #[regex(r"[^. \}]+")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            80 + #[derive(Logos)]
[INFO] [stderr]            81 | enum Closing {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `parse::Tag` in the current scope
[INFO] [stderr]               --> src/template/parse.rs:114:28
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:446:21
[INFO] [stdout]     |
[INFO] [stdout] 446 |         if let Some(ref inner) = self {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:446:16
[INFO] [stdout]     |
[INFO] [stdout] 446 |         if let Some(ref inner) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 446 -         if let Some(ref inner) = self {
[INFO] [stdout] 446 +         if let Some(inner) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:455:21
[INFO] [stdout]     |
[INFO] [stdout] 455 |         if let Some(ref inner) = self {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:455:16
[INFO] [stdout]     |
[INFO] [stdout] 455 |         if let Some(ref inner) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 455 -         if let Some(ref inner) = self {
[INFO] [stdout] 455 +         if let Some(inner) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             30 | pub enum Tag {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:473:21
[INFO] [stdout]     |
[INFO] [stdout] 473 |         if let Some(ref item) = self {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:473:16
[INFO] [stdout]     |
[INFO] [stdout] 473 |         if let Some(ref item) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 473 -         if let Some(ref item) = self {
[INFO] [stdout] 473 +         if let Some(item) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ------------ variant, associated function, or constant `lexer` not found for this enum
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:488:21
[INFO] [stdout]     |
[INFO] [stdout] 488 |         if let Some(ref item) = self {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:488:16
[INFO] [stdout]     |
[INFO] [stdout] 488 |         if let Some(ref item) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 488 -         if let Some(ref item) = self {
[INFO] [stdout] 488 +         if let Some(item) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:538:19
[INFO] [stdout]     |
[INFO] [stdout] 538 |         if let Ok(ref inner) = self {
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:538:16
[INFO] [stdout]     |
[INFO] [stdout] 538 |         if let Ok(ref inner) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 538 -         if let Ok(ref inner) = self {
[INFO] [stdout] 538 +         if let Ok(inner) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            114 |         let mut lex = Tag::lexer(source);
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:547:19
[INFO] [stdout]     |
[INFO] [stdout] 547 |         if let Ok(ref inner) = self {
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:547:16
[INFO] [stdout]     |
[INFO] [stdout] 547 |         if let Ok(ref inner) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 547 -         if let Ok(ref inner) = self {
[INFO] [stdout] 547 +         if let Ok(inner) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                            ^^^^^ variant, associated function, or constant not found in `parse::Tag`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/content.rs:580:19
[INFO] [stdout]     |
[INFO] [stdout] 580 |         if let Ok(ref item) = self {
[INFO] [stdout]     |                   ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/content.rs:580:16
[INFO] [stdout]     |
[INFO] [stdout] 580 |         if let Ok(ref item) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 580 -         if let Ok(ref item) = self {
[INFO] [stdout] 580 +         if let Ok(item) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, (), parse::Tag>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/template/parse.rs:22:45
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Logos)]
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/template/parse.rs:22:45
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Logos)]
[INFO] [stdout]    |                                             ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Logos + use<'s>)]
[INFO] [stdout]    |                                                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, (), Closing>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/template/parse.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Logos)]
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/template/parse.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Logos)]
[INFO] [stdout]    |          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Logos + use<'s>)]
[INFO] [stdout]    |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `parse::Tag` doesn't implement `Debug`
[INFO] [stderr]               --> src/template/mod.rs:170:5
[INFO] [stderr]                |
[INFO] [stderr]            164 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            170 |     tag: Tag,
[INFO] [stderr]                |     ^^^^^^^^ the trait `Debug` is not implemented for `parse::Tag`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `parse::Tag` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/template/parse.rs:30:1
[INFO] [stderr]                |
[INFO] [stderr]             30 + #[derive(Debug)]
[INFO] [stderr]             31 | pub enum Tag {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `parse::Tag: Clone` is not satisfied
[INFO] [stderr]               --> src/template/mod.rs:170:5
[INFO] [stderr]                |
[INFO] [stderr]            164 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |                 ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            170 |     tag: Tag,
[INFO] [stderr]                |     ^^^^^^^^ the trait `Clone` is not implemented for `parse::Tag`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `parse::Tag` with `#[derive(Clone)]`
[INFO] [stderr]               --> src/template/parse.rs:30:1
[INFO] [stderr]                |
[INFO] [stderr]             30 + #[derive(Clone)]
[INFO] [stderr]             31 | pub enum Tag {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `parse::Tag`
[INFO] [stderr]               --> src/template/mod.rs:170:5
[INFO] [stderr]                |
[INFO] [stderr]            164 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |                        --------- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            170 |     tag: Tag,
[INFO] [stderr]                |     ^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `parse::Tag`
[INFO] [stderr]               --> src/template/parse.rs:30:1
[INFO] [stderr]                |
[INFO] [stderr]             30 | pub enum Tag {
[INFO] [stderr]                | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `parse::Tag` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/template/parse.rs:30:1
[INFO] [stderr]                |
[INFO] [stderr]             30 + #[derive(PartialEq)]
[INFO] [stderr]             31 | pub enum Tag {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `parse::Tag: Eq` is not satisfied
[INFO] [stderr]               --> src/template/mod.rs:170:5
[INFO] [stderr]                |
[INFO] [stderr]            164 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |                                   -- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            170 |     tag: Tag,
[INFO] [stderr]                |     ^^^^^^^^ the trait `Eq` is not implemented for `parse::Tag`
[INFO] [stderr]                |
[INFO] [stderr]            note: required by a bound in `std::cmp::AssertParamIsEq`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cmp.rs:380:0
[INFO] [stderr]            help: consider annotating `parse::Tag` with `#[derive(Eq)]`
[INFO] [stderr]               --> src/template/parse.rs:30:1
[INFO] [stderr]                |
[INFO] [stderr]             30 + #[derive(Eq)]
[INFO] [stderr]             31 | pub enum Tag {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 20 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0369, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.23s
[INFO] [stderr] crater-edition-check: dysql-tpl v2.0.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr] error: failed to parse manifest at `/opt/rustwide/workdir/Cargo.toml`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   `default_features` is unsupported as of the 2024 edition; instead use `default-features`
[INFO] [stderr]   (in the `pulldown-cmark` dependency)
[INFO] running `Command { std: "docker" "inspect" "d3bc3972c9cdb710662912def03b0d18face98cea729153f7d66e267e6eff264", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3bc3972c9cdb710662912def03b0d18face98cea729153f7d66e267e6eff264", kill_on_drop: false }`
[INFO] [stdout] d3bc3972c9cdb710662912def03b0d18face98cea729153f7d66e267e6eff264
